Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
htaccess重写规则/en/support/my tickets/到my-tickets.php页面_Php_Regex_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

htaccess重写规则/en/support/my tickets/到my-tickets.php页面

htaccess重写规则/en/support/my tickets/到my-tickets.php页面,php,regex,.htaccess,mod-rewrite,url-rewriting,Php,Regex,.htaccess,Mod Rewrite,Url Rewriting,我正试图为htaccess中的seo友好链接编写规则,但我有一个问题 我的所有页面都位于同一根文件夹中 css/(文件夹) js/(文件夹) 包括/(包含词汇表和config.php文件的文件夹) index.php support.php new-ticket.php all-tickets.php my-profile.php 构建的链接。com/language/page-工作正常! 例如/en/(它是index.php?lang=en) 例如/fr/my profile/(它是(

我正试图为htaccess中的seo友好链接编写规则,但我有一个问题

我的所有页面都位于同一根文件夹中

  • css/(文件夹)
  • js/(文件夹)
  • 包括/(包含词汇表和config.php文件的文件夹)
  • index.php
  • support.php
  • new-ticket.php
  • all-tickets.php
  • my-profile.php
构建的链接。com/language/page-工作正常!
例如/en/(它是index.php?lang=en)
例如/fr/my profile/(它是(my profile.php?lang=fr)
例如/英语/支持/

我想做的是做:
/en/支持/新票证/
/en/支持/所有门票/

我不知道该怎么做,它每次都会将我重定向到support.php页面。 .htaccess代码:

ErrorDocument 404 /404
Options +MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+([^.]+\.php)\?lang=([^\s&]+) [NC]
RewriteRule ^ /%2/%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Z]{2})/(.+?)/?$ /$2?lang=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Z]{2})/?$ /?lang=$1 [L,QSA,NC]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Z]{2})/^support$/?$ /$3?lang=$1 [L,QSA,NC]



您的上一条规则似乎不正确。请将其更改为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Z]{2})/support/([\w-]+)/?$ $2.php?lang=$1 [L,QSA,NC]

您的上一条规则似乎不正确。请将其更改为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Z]{2})/support/([\w-]+)/?$ $2.php?lang=$1 [L,QSA,NC]

什么是
/en/support/new ticket/
的内部重写URI?它只是
/support.php吗?lang=en
离开
new ticket
吗?对于内部,它将是/new ticket.php?lang=en。但是我需要在链接栏中显示为/en/support/new ticket,它是
/en/support/new ticket/
的内部重写URI。它只是
/support.php?lang=en
离开
新票
离开?对于内部,它将是/new ticket.php?lang=en。但是我需要在链接栏中显示为/en/support/new ticket谢谢您,先生!我以为它不会工作,但在我将此规则置于其他规则之上后它工作了!是的,我忘记提醒您此规则的位置。它应该是placed就在
R=301
规则的下方。谢谢您,先生!我原以为它不起作用,但在我将此规则置于其他规则之上之后,它起了作用!是的,我忘了提醒您此规则的位置。它应该放在
R=301
规则的下方。