我在我的/etc/apache2/apache2.conf
文件中有这个RewriteRule
代码。Url用正则表达式重写不起作用
<Directory /var/www/html/demo/>
# New URL Structure
RewriteEngine On
Allow From All
RewriteBase/
RewriteRule "^page/(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)/(.*)$" detail.php?url=$1 [L]
</Directory>
我有这个网址:http://example.com/page/parameter-1/parameter-2
和规则被工作完美,但是当我尝试用这个URL http://example.com/page/parameter-1
它无法正常工作。
http://example.com/page/parameter-1 [Not working]
http://example.com/page/parameter-1/parameter-2 [Working]
http://example.com/page/parameter-1/parameter-2/parameter-3 [Working]
任何想法我做错了什么?
谢谢。
什么如果我不想让第一个参数的数字。不想允许1245:'http:// example.com/page/1245/parameter-1'并允许:'http:// example.com/page/parameter-1/parameter-2' –
在这种情况下,使用:''RewriteRule^/?page /([a-zA-Z] + - \ d +。*)$ detail.php?url = $ 1 [L,QSA,NC]' – anubhava
我试过'RewriteRule“^ /? page /([a-zA-Z] + - \ d +。*)$“detail.php?url = $ 1 [L,QSA,NC]'但这个网址不起作用 'http://example.com/page/parameter-1 OR http://example.com/page/parameter-1/parameter-2 OR http:// example.com/page/parameter-1/parameter-2/parameter-3' –