【发布时间】:2013-01-07 03:49:54
【问题描述】:
我正在尝试将http://abc.com/sub/random.php 重写为http://abc.com/random。 我试过了
RewriteRule ^random$ sub/random.php [QSA,L]
但由于某种原因它不起作用。
【问题讨论】:
我正在尝试将http://abc.com/sub/random.php 重写为http://abc.com/random。 我试过了
RewriteRule ^random$ sub/random.php [QSA,L]
但由于某种原因它不起作用。
【问题讨论】:
在浏览器的地址栏中显示带有资源的“丑陋”URL:http://abc.com/sub/random.php,而隐藏“漂亮”URL http://abc.com/random 并没有多大意义。所以,我假设你想要的与你所要求的相反。
如果正确,你可以试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} .*/([^/]+)/?$ [NC]
RewriteRule .* sub/%1.php [L,QSA]
它会默默映射:
http://abc.com/random
到这里:
http://abc.com/sub/random.php
其中random 不是固定字符串,而是作为脚本名称传递的变量。
【讨论】:
这应该适合你。
RewriteCond %{HTTP_HOST} ^abc\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.abc\.com$
RewriteRule ^sub\/random\.php$ "http\:\/\/abc\.com\/random" [R=301,L]
【讨论】: