我要寻找一个解决方案,从我的网址的.htaccess隐藏PHP PARAM键,但不改变物理路径
例如/page1.php?city=Lahore
隐藏PARAM键我想它改写为/第1页/拉合尔
但最重要的是拉合尔不是目录存在服务器上,我希望它指向同一个文件只是page1.php中重写URL外部
感谢
我要寻找一个解决方案,从我的网址的.htaccess隐藏PHP PARAM键,但不改变物理路径
例如/page1.php?city=Lahore
隐藏PARAM键我想它改写为/第1页/拉合尔
但最重要的是拉合尔不是目录存在服务器上,我希望它指向同一个文件只是page1.php中重写URL外部
感谢
创建从根.htaccess文件并粘贴此代码
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^page1/(.*)? /page1.php?city=$1 [L]
,或者你也可以把它放在你的网站的Apache的conf文件。
,但这将在“page1”上具体说明它不是通用的.. 如果您有“page1”,“page2”.. etc ... 你可以写^页(\ d)+ /(。*)? /page$1.php?city=$2 [L] –
以及您刚分享的代码无法正常工作, 目前代码正在为我工作的是 –
RewriteCond%{THE_REQUEST} /(?: page1 \ .php)?\? city =([^ \ s&] +)\ s [NC] RewriteRule^/m/en/page1.php/%1? [R = 302,L,NE] –
尝试.htaccess文件的代码
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /projectfoldername/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^page1/(.+?)/?$ /projectfoldername/page1.php?key=$1 [L,QSA]
代码page1.php中会
<?php
echo $_REQUEST['key'];
?>
然后调用 http://localhost/projectfoldername/page1/1947
输出将是:1947年
我有这个解决方案做的工作#RewriteCond%{THE_REQUEST} /(?:page1\.php)?\city=([^\s&]+)[NC] #RewriteRule^/page1.php/%1? [R = 302,L,NE] 但它尝试加载实际上不存在的目录Lahore –