我需要一些URL重写规则。我谷歌有些并申请但没有更改网址。
我想:
http://example.com/tender/details/NIdyzuC41kgt91vRSHHOOFdaPtuMuGL8ePwE0Zx1aEj9vFQecoSRTVRyebazIMxNrUhrJFhK0rJuXpzZ
更改为:
http://demo.example.com/name-of-topic
这是.htaccess
文件
php_flag display_errors on
php_value error_reporting 9999
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
答案 0 :(得分:0)
由于您已经在使用前置控制器,看起来您应该在应用程序/ CMS中更改此URL,而不是在.htaccess
中更改
为简单起见,我假设主域example.com
和子域demo.example.com
都指向文件系统上的相同位置。 (如果他们指向完全不同的文件系统,那么您需要代理请求,因为您不能简单地跨主机重写。)
假设您已将应用程序中链接到的网址更改为http://demo.example.com/name-of-topic
,那么您可以在 RewriteBase
之后立即添加以下内容指令。
RewriteCond %{HTTP_HOST} ^demo\.example\.com\.?$ [NC]
RewriteRule ^name-of-topic$ /tender/details/NIdyzuC41kgt91vRSHHOOFdaPtuMuGL8ePwE0Zx1aEj9vFQecoSRTVRyebazIMxNrUhrJFhK0rJuXpzZ [L]
此在内部将 http://demo.example.com/name-of-topic
重写为/tender/details/NIdyzuC41...
("真实"网址)。