如何在url上隐藏.php和id
我想更改此URL:如何在url上隐藏.php和id,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我想更改此URL: http://example.com/pages.php?sports_id=23 为此: http://example.com/pages/sports/23 我的代码是: RewriteEngine On RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule ^(.*)$ $1\.php ErrorDocument 404 /404.php 将此行添加
http://example.com/pages.php?sports_id=23
为此:
http://example.com/pages/sports/23
我的代码是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.php
ErrorDocument 404 /404.php
将此行添加到.htacess
RewriteRule ^pages$ pages.php [L]
但我认为将GET部分改为斜杠是不可能的。
(如果我错了,请更正)。如果您还没有,您首先需要将应用程序中的URL更改为
/pages/sports/23
。然后使用.htaccess将“漂亮”URL重写回真实URL
要将/pages/sports/23
重写回/pages.php?sports_id=23
,您可以执行以下操作:
RewriteRule ^pages/sports/23$ pages.php?sports_id=23 [L]
但是,您可能需要更通用的东西。但有多普遍?你的问题不清楚哪些元素是可变的。像下面这样的东西可能适合你
RewriteRule ^([^/])+/([^/])+/(\d{3})+$ $1.php?$2_id=$3 [L]
MegaXLR我不明白?我尝试了.htaccess中的所有重写行,但什么也没发生。它显示错误并显示url,如:此指令如何处理url的
/sports/23
部分?url仍然是相同的:我在我的链接中使用此链接:@FhdKaxi您应该在链接中使用“pretty”url。例如,
。然后使用.htaccess中的代码将这个“漂亮”的URL重写为真实(丑陋)的URL。